package com.ljf.eslab.lab.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ljf.common.utils.PageUtils;
import com.ljf.eslab.lab.dto.CourseAndTeacherDTO;
import com.ljf.eslab.lab.entity.CourseEntity;

import java.util.HashSet;
import java.util.List;
import java.util.Map;

/**
 * 课程信息表
 *
 * @author ljf
 * @email ljf@gmail.com
 * @date 2021-05-28 09:12:59
 */
public interface CourseService extends IService<CourseEntity> {

    PageUtils queryPage(Map<String, Object> params);

    PageUtils queryPageByTid(Map<String, Object> params, Integer tid);

    HashSet<Integer> getByTID(Integer tid);

    void decreaseStuByIds(List<Integer> asList);

    Boolean increaseByCids(Integer[] cids);

    IPage<CourseAndTeacherDTO> pageSelectableCourses(IPage<CourseAndTeacherDTO> params);

    IPage<CourseAndTeacherDTO> pageMyCourses(IPage<CourseAndTeacherDTO> params, Integer sid);
}

